',
'weglot_dialog_upsell_title' => '
',
'weglot_install_url' => add_query_arg(array('action' => 'install_weglot', '_wpnonce' => wp_create_nonce('install_weglot')), admin_url('admin.php')),
'nonce_dismiss_survey' => wp_create_nonce('ucp_dismiss_survey'),
'nonce_submit_survey' => wp_create_nonce('ucp_submit_survey'),
'nonce_submit_support_message' => wp_create_nonce('ucp_submit_support_message'),
'deactivate_confirmation' => esc_attr__('Are you sure you want to deactivate UnderConstruction plugin?' . "\n" . 'If you are removing it because of a problem please contact our support. They will be more than happy to help.', 'under-construction-page')
);
if (self::is_plugin_page()) {
remove_editor_styles();
wp_enqueue_style('wp-jquery-ui-dialog');
wp_enqueue_style('ucp-select2', UCP_PLUGIN_URL . 'css/select2.min.css', array(), self::$version);
wp_enqueue_style('ucp-admin', UCP_PLUGIN_URL . 'css/ucp-admin.css', array(), self::$version);
wp_enqueue_script('jquery-ui-tabs');
wp_enqueue_script('jquery-ui-dialog');
wp_enqueue_script('ucp-jquery-plugins', UCP_PLUGIN_URL . 'js/ucp-jquery-plugins.js', array('jquery'), self::$version, true);
wp_enqueue_script('ucp-select2', UCP_PLUGIN_URL . 'js/select2.min.js', array(), self::$version, true);
wp_enqueue_script('ucp-admin', UCP_PLUGIN_URL . 'js/ucp-admin.js', array('jquery'), self::$version, true);
wp_localize_script('ucp-admin', 'ucp', $js_localize);
// fix for agressive plugins
wp_dequeue_style('uiStyleSheet');
wp_dequeue_style('wpcufpnAdmin');
wp_dequeue_style('unifStyleSheet');
wp_dequeue_style('wpcufpn_codemirror');
wp_dequeue_style('wpcufpn_codemirrorTheme');
wp_dequeue_style('collapse-admin-css');
wp_dequeue_style('jquery-ui-css');
wp_dequeue_style('tribe-common-admin');
wp_dequeue_style('file-manager__jquery-ui-css');
wp_dequeue_style('file-manager__jquery-ui-css-theme');
wp_dequeue_style('wpmegmaps-jqueryui');
wp_dequeue_style('wp-botwatch-css');
wp_dequeue_style('uap_main_admin_style');
wp_dequeue_style('uap_font_awesome');
wp_dequeue_style('uap_jquery-ui.min.css');
}
if ($pointers) {
$pointers['_nonce_dismiss_pointer'] = wp_create_nonce('ucp_dismiss_pointer');
wp_enqueue_script('wp-pointer');
wp_enqueue_script('ucp-pointers', plugins_url('js/ucp-admin-pointers.js', __FILE__), array('jquery'), self::$version, true);
wp_enqueue_style('wp-pointer');
wp_localize_script('wp-pointer', 'ucp_pointers', $pointers);
wp_localize_script('wp-pointer', 'ucp', $js_localize);
}
} // admin_enqueue_scripts
// permanently dismiss a pointer
static function dismiss_pointer_ajax()
{
check_ajax_referer('ucp_dismiss_pointer');
$pointers = get_option(UCP_POINTERS_KEY);
$pointer = trim(sanitize_text_field($_POST['pointer']));
if (empty($pointers) || empty($pointers[$pointer])) {
wp_send_json_error();
}
unset($pointers[$pointer]);
update_option(UCP_POINTERS_KEY, $pointers);
wp_send_json_success();
} // dismiss_pointer_ajax
// permanently dismiss a survey
static function dismiss_survey_ajax()
{
check_ajax_referer('ucp_dismiss_survey');
$surveys = get_option(UCP_SURVEYS_KEY, array());
$survey = trim(sanitize_text_field($_POST['survey']));
$surveys[$survey] = -1;
update_option(UCP_SURVEYS_KEY, $surveys);
wp_send_json_success();
} // dismiss_survey_ajax
// send support message
static function submit_support_message_ajax()
{
check_ajax_referer('ucp_submit_support_message');
$options = self::get_options();
$email = sanitize_text_field($_POST['support_email']);
if (!is_email($email)) {
wp_send_json_error(esc_attr__('Please double-check your email address.', 'under-construction-page'));
}
$message = stripslashes(sanitize_text_field($_POST['support_message']));
$subject = 'UCP Support';
$body = $message;
if (!empty($_POST['support_info'])) {
$theme = wp_get_theme();
$body .= "\r\n\r\nSite details:\r\n";
$body .= ' WordPress version: ' . get_bloginfo('version') . "\r\n";
$body .= ' UCP version: ' . self::$version . "\r\n";
$body .= ' PHP version: ' . PHP_VERSION . "\r\n";
$body .= ' Site URL: ' . get_bloginfo('url') . "\r\n";
$body .= ' WordPress URL: ' . get_bloginfo('wpurl') . "\r\n";
$body .= ' Theme: ' . $theme->get('Name') . ' v' . $theme->get('Version') . "\r\n";
$body .= ' Options: ' . "\r\n" . serialize($options) . "\r\n";
}
$headers = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $email;
if (true === wp_mail('ucp@webfactoryltd.com', $subject, $body, $headers)) {
wp_send_json_success();
} else {
wp_send_json_error(esc_attr__('Something is not right with your wp_mail() function. Please email as at ucp@webfactoryltd.com.', 'under-construction-page'));
}
} // submit_support_message
// submit survey
static function submit_survey_ajax()
{
check_ajax_referer('ucp_submit_survey');
$options = self::get_options();
$meta = self::get_meta();
$surveys = get_option(UCP_SURVEYS_KEY);
$vars = wp_parse_args($_POST, array('survey' => '', 'answers' => '', 'custom_answer' => $options['theme'], 'emailme' => ''));
$vars['answers'] = trim($vars['answers'], ',');
$vars['custom_answer'] = trim(strip_tags($vars['custom_answer']));
$vars['custom_answer'] .= '; ' . date('Y-m-d H:i:s', $meta['first_install']);
$vars['custom_answer'] = trim($vars['custom_answer'], ' ;');
if (empty($vars['survey']) || empty($vars['answers'])) {
wp_send_json_error();
}
$request_params = array('sslverify' => false, 'timeout' => 15, 'redirection' => 2);
$request_args = array(
'action' => 'submit_survey',
'survey' => $vars['survey'],
'email' => $vars['emailme'],
'answers' => $vars['answers'],
'custom_answer' => $vars['custom_answer'],
'first_version' => $meta['first_version'],
'version' => UCP::$version,
'codebase' => 'free',
'site' => get_home_url()
);
$url = add_query_arg($request_args, self::$licensing_servers[0]);
$response = wp_remote_get(esc_url_raw($url), $request_params);
if (is_wp_error($response) || !wp_remote_retrieve_body($response)) {
$url = add_query_arg($request_args, self::$licensing_servers[1]);
$response = wp_remote_get(esc_url_raw($url), $request_params);
}
$surveys[$vars['survey']] = time();
update_option(UCP_SURVEYS_KEY, $surveys);
wp_send_json_success();
} // submit_survey_ajax
// encode email for frontend use
static function encode_email($email)
{
$len = strlen($email);
$out = '';
for ($i = 0; $i < $len; $i++) {
$out .= '' . ord($email[$i]) . ';';
}
return $out;
} // encode_email
// parse shortcode alike variables
static function parse_vars($string)
{
$org_string = $string;
$vars = array(
'site-title' => get_bloginfo('name'),
'site-tagline' => get_bloginfo('description'),
'site-description' => get_bloginfo('description'),
'site-url' => trailingslashit(get_home_url()),
'wp-url' => trailingslashit(get_site_url()),
'site-login-url' => get_site_url() . '/wp-login.php'
);
foreach ($vars as $var_name => $var_value) {
$var_name = '[' . $var_name . ']';
$string = str_ireplace($var_name, $var_value, $string);
}
$string = apply_filters('ucp_parse_vars', $string, $org_string, $vars);
return $string;
} // parse_vars
// generate HTML from social icons
static function generate_social_icons($options, $template_id)
{
$out = '';
if (!empty($options['social_facebook'])) {
$out .= '';
}
if (!empty($options['social_twitter'])) {
$out .= '';
}
if (!empty($options['social_linkedin'])) {
$out .= '';
}
if (!empty($options['social_youtube'])) {
$out .= '';
}
if (!empty($options['social_vimeo'])) {
$out .= '';
}
if (!empty($options['social_pinterest'])) {
$out .= '';
}
if (!empty($options['social_dribbble'])) {
$out .= '';
}
if (!empty($options['social_behance'])) {
$out .= '';
}
if (!empty($options['social_instagram'])) {
$out .= '';
}
if (!empty($options['social_tumblr'])) {
$out .= '';
}
if (!empty($options['social_vk'])) {
$out .= '';
}
if (!empty($options['social_skype'])) {
$out .= '';
}
if (!empty($options['social_whatsapp'])) {
$out .= '';
}
if (!empty($options['social_telegram'])) {
$out .= '';
}
if (!empty($options['social_email'])) {
$out .= '';
}
if (!empty($options['social_phone'])) {
$out .= '';
}
return $out;
} // generate_social_icons
// shortcode for inserting things in header
static function generate_head($options, $template_id)
{
$out = '';
$out .= '' . "\n";
$out .= '' . "\n";
$out .= '' . "\n";
$out .= '' . "\n";
$out .= '';
if (self::is_weglot_setup()) {
$out .= '';
$out .= '';
}
if (!empty($options['ga_tracking_id'])) {
$out .= "
";
}
if (!empty($options['custom_css'])) {
$out .= "\n" . '';
}
$out = apply_filters('ucp_head', $out, $options, $template_id);
return trim($out);
} // generate_head
// shortcode for inserting things in footer
static function generate_footer($options, $template_id)
{
$out = '';
if ($options['linkback'] == '1') {
$tmp = md5(get_site_url());
if ($tmp[0] < '4') {
$out .= 'Create stunning under construction pages for WordPress. Completely free.
'; } elseif ($tmp[0] < '8') { $out .= 'Create a free under construction page for WordPress like this one in under a minute.
'; } elseif ($tmp[0] < 'c') { $out .= 'Join more than 400,000 happy people using the free Under Construction Page plugin for WordPress.
'; } else { $out .= 'Create free under construction pages for WordPress.
'; } } if ($options['login_button'] == '1') { if (is_user_logged_in()) { $out .= '